import { reqGetSearchInfo } from "@/api";

const state = {
    //仓库初始的状态   有两种状态，第一种是空对象 第二种是服务器返回的数据
    searchList: {}
};
const mutations = {
    GETSEARCHLIST(state, searchList) { 
        state.searchList = searchList
    }
};
const actions = {
    //获取search模块数据
    async getSearchList({ commit }, params = {}) { 
        //dispatch时第二个参数就是载荷
        //当前这个函数在调用获取服务器数据时至少传递一个空对象参数
       //params形参是当用户派发action的时候，第二个参数传过来 至少是一个空对象
        let result = await reqGetSearchInfo(params)
        if (result.code == 200) { 
            commit('GETSEARCHLIST',result.data)
        }
    }
};
//getters计算属性，但在项目当中getters主要作用是为了简化仓库中的数据
//把组件当中需要用的数据简化一下，将来组件在获取数据的就方便了
const getters = {
   //当前形参state是当前仓库中的state，并非大仓库中的state
    goodsList(state) { 
        //注意 当网络出现故障时应该将返回值设置为空，
        // 如果不设置返回值就变成了undefined。
        return state.searchList.goodsList||[]
    },
    trademarkList(state) { 
        return state.searchList.trademarkList
    },
    attrsList(state) { 
        return state.searchList.attrsList
    }

};
export default {
    state,
    mutations,
    actions,
    getters
}